package com.mapper;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.pojo.Trade;

public interface TradeMapper {
	//查询用户所有委托单的价格(专指买方) 2017.12.5 12:20 yy
	public BigDecimal selectsumconsume(String UserID);
	
	// 买方提交委托单时需要查找卖方的价格1.17yy
	public ArrayList<Map> selecttradeprice(String goods);
	//根据会员编号和商品名称,取自有的，该商品的库存列表，按时间从小到大升序排列
	public List<HashMap<String,Object>> getTradeList(Map<String, Object> param);
	//删除该条库存信息
	public void deletegoodBank(int id);
	//更改库存量
	public void updategoodBank(Map<String, Object> param);				
	// 计算卖方获得的利润，插入到卖方利润表里
	public void insertsaleIntrest(Map<String, Object> param);		
			
	// 卖方提交委托单时需要查找买方的价格1.17yy
	public ArrayList<Map> selecttradeprice2(String goods);		
			
	//match()
	public void inserttradeinfo(Map<String, Object> param);// 插入交易明细
	// 买商品时,需要插入到 goodBank(商品库存表),卖出时,需要匹配原先的交易价格
	
	public int selectclientgoods(Map<String, Object> param);	//买方：查询商品明细表
	public void insertclientgoods(Map<String, Object> param);	//买方：增加商品明细表
	public void insertgoodBank(Map<String, Object> param);	// 买方:将交易信息插入到商品库存表
	public void updatebuycg(Map<String, Object> param);//增加买方的商品数量
	public void updatebuyencash(Map<String, Object> param);	//减少买方的金钱 
	public void matchbuy3(Map<String, Object> param);	// 更新委托单的数量	
	public void matchbuy5(Map<String, Object> param);// 插入挂售/挂买记录,交易记录	
	public void updatesalecg(Map<String, Object> param);//减少卖方的商品数量，还原冻结数量
	public void matchsale2(Map<String, Object> param);	//增加卖方的消费币，复投，金额		
	public void deletetradewtd();//删除已交易成功的委托单  2017/12/1 11:05 yy

	public void matchbuy4(Map<String, Object> param);	// 更新平台余额	
		
	public ArrayList<Map> selectTratablemx();//查询当天的平台日志消息
	public Trade selectTratable(String goods);//根据商品查询当天的平台日志消息
	public BigDecimal tradestatis4(String goods);// 查询最新成交记录的价格
	public int selecttradeinfomx(String goods);//查询交易记录中是否有消息 2017.12.9 9:11 yy
	public int tradestatis6(String goods);//查询记录中最小的交易量
	public void insertTratable(Map<String, Object> param);// 如果当天没有交易信息,就先插入信息到平台交易记录,作为初始值
	public void updateTratable(Map<String, Object> param);	// 更改平台交易记录
	
	public Trade tradestatis1(String goods);// 查询当前日期的数据
	public BigDecimal tradestatis3(String goods);// 查询前一天的收盘价格
	public BigDecimal tradestatis41(String goods);//查询记录中该商品最大成交价 
	public BigDecimal tradestatis42(String goods);//查询记录中该商品最小成交价 
	public void tradestatis2(Map<String, Object> param);// 插入统计数据
	public void tradestatis5(Map<String, Object> param);// 更新统计表里的数据
	
	public Trade tradeelif(Map<String, Object> param);//查询当前五分钟是否有成交量
	public BigDecimal tradestatis7(String goods);//查询该区间内的开盘价格
	public BigDecimal tradestatis8(String goods);// 查询该区间内收盘价格
	public BigDecimal tradestatis81(String goods);//查询该区间内最大的值 
	public BigDecimal tradestatis82(String goods);	//查询该区间内最小的值 
	public void tradestatis10(Map<String, Object> param);// 插入统计数据
	public void tradestatis11(Map<String, Object> param);// 更新统计表里的四种价格

			

}

// 3 插入交易明细 inserttradeinfo
// 4 买方积分包数量增加
// 5 卖方积分宝数量减少
// 6 买方委托单数量减少
// 7 卖方委托单数量减少到0
// 8 买方余额减少
// 9 卖方余额增加(10%转消费币 30%转复投 60%转体线 )
// 10 扣除手续费
// 11 增加平台账户余额
